C#.NStar Pre-Pre-I-2o2
Привет, неизвестный путник! Здесь вы можете
просмотреть информацию о C#.NStar Pre-Pre-I-2o2. Вы можете скачать
EXE или просмотреть список изменений, скриншоты и/или видео.
Что уже проверено и работает в
дополнение к версии Pre-Pre-I-2o1:
1. Все ошибки, предупреждения и прочие сообщения транспайлера пронумерованы.
2. Существенно более сильная типизация.
3. Тернарные операторы.
4. ЛЯМБДА-ВЫРАЖЕНИЯ!
5. Индексы с конца и диапазоны.
Что уже проверено и не работает в дополнение к версии Pre-Pre-I-2o1:
1. NList[T]. Используйте list() T - транспайлер сам определит, конвертировать его в List<T>,
NList<T> или BitList.
Рабочие примеры кода на C#.NStar:
using System.Collections;
var hs = new ListHashSet[string]();
hs.Add("1");
hs.Add("2");
hs.Add(""); // Можно добавить пустую строку
hs.Add("2");
return hs;
return DateTime.IsLeapYear(2025) ? -1234567890 : 2345678901;
var a = 1 ?> 2 : 3 ?> 2 : 1;
return a;
using System;
Func[real, real] f = x => x * x;
return f(100);
using System;
list() Func[real, real] list = (x => x * x, x => 1 / x, x => E pow x);
return (list[1](3.14), list[2](3.14), list[3](3.14), list[1](-5), list[2](-5), list[3](-5));
using System;
Func[real, real] f = x =>
{
if (x >= 0)
return x * x;
else
return -x * x;
};
return (f(100), f(-5));
list() int list = (1, 2, 3, 4, 5);
return list[^1];
list() int list = (1, 2, 3, 4, 5, 6, 7);
return list[3..^2];
list() int list = (1, 2, 3, 4, 5, 6, 7);
index start = 3;
index end = 5;
var range = start..end;
return list[range];
list() int list = (1, 2, 3, 4, 5);
var range = ..;
return list[range];
using System.Collections;
var hs = new ListHashSet[string]();
hs.Add("1");
hs.Add("2");
hs.Add("3");
hs.Add("2");
return hs.RemoveValue("2");
using System.Collections;
var hs = new ListHashSet[string]();
hs.Add("1");
hs.Add("2");
hs.Add("3");
hs.Add("2");
return hs.Remove(2..);
Все остальное
не проверено и, скорее всего, не
работает
.
Ссылка на EXE
(~40 MB)
Назад ко всем версиям